
/*
 * Aqui programamos la otra parte de la aplicación
 * los controladores... puede definir todos los que necesite...
 * De hecho puede separarlos por archivos aparte para organizarlos mejor...
 * Pero recuerde que este seria el principal...
 * 
 * */

var controllers = angular.module('eduApp.controllers', []);
	
	controllers
	
		.controller('ModuleDriver' , function($scope, $stateParams, $location, $window) {
		   /*
		    * Los controladores reciben como base, un $scope
		    * A través de esta variable tomamos la información que viene del formulario HTML...
		    * */
		   /*
		    * Esta instrucción es que captura que vista queremos cargar...
		    * */
		   var option      = $stateParams['module'];
		   //Construyendo la plantilla...
		   $scope.template = {
			  menu  : '',
			  cont  : 'views/home/index.html' 
		   };
		   /*
		    * La linea comentada es cuando vamos a manejar autenticación...
		    * */
		   //if(AuthService.isAuthenticated() != "") {
			     option    =  (option == null)?'teacher-add':option;
			  if(option == 'teacher-add')  		{
			     $scope.template.menu  = 'views/modules/teachers/menu.html';
			     $scope.template.cont  = 'views/modules/teachers/add.html';
		      }//fin de la condicion...
		      else if(option == 'teacher-list') {
			     $scope.template.menu  = 'views/modules/teachers/menu.html';
			     $scope.template.cont  = 'views/modules/teachers/list.html';
		      }//fin de la condicion...
		      else if(option == 'teacher')      {
			     $scope.template.menu  = 'views/modules/teachers/menu.html';
			     $scope.template.cont  = 'views/modules/teachers/add.html';
		      }//fin de la condicion...
			  
		      else {
				 $scope.template.menu  = 'views/modules/maps/option.html';
			     $scope.template.cont  = 'views/modules/maps/panel.html';
		      }//fin de la funcion...
			  
			//}//fin de la condicion...
			/*
			else {
				$location.path("/");
			}//fin de la condicion...
			*/
		})
		
		.controller('AddTeacherDriver', function($scope, HTTP)  {
		       /*
		        * Este es un controlador propio de un formulario, 
		        * como se puede dar cuenta tiene $scope, que captura la informacion del HTML
		        * y HTTP que es un servicio, donde podemos hacer peticiones AJAX...
		        * */
			   
			   menu(
				  optionsbar,
				  ['teacher-add','teacher-lis','teacher-sea'],
				  'teacher',
				  'teacher-add');
		       /*
		        * Script que va a recibir la informacion a procesar del formulario..
		        * */
		       var scriptFile           = "CrearDocenteServlet";
			   //var userName             = $scope.currentUser.name;
		       var userName				= "test";
		       /*
		        * Podemos inicializar datos del objeto...
		        * */
			   $scope.docente           = {
				  estado            : 1,
				  creador           : userName
			   };
			   $scope.master            = {};
		
			   //Funcion del controlador...
			   /*
			    * Esta se encarga de guardar el docente...
			    * */
			   $scope.save              = function(docente) {
			      $scope.master         = angular.copy(docente);
			      /*
			       * Peticion AJAX, y la implementacion del servicio HTTP
			       * la veremos en el archivo servicesmain.js
			       * 
			       * */
			      HTTP.requestServer(pathScripts+scriptFile, $scope.master).success(
				    function (res) {
					 /*
					  * Definimos que la funcion recibe respuestas JSON
					  * por esta razón el toma la respuesta del Servlet
					  * y con eso miramos que resultado nos dio...
					  * */
				     var titleBox       = "";
					 var messageBox     = "";
					 var typeBox        = "";
					  //Si son exactamente iguales, entonces se pone el mensaje que con exito se importaron los datos...
					  if(res.estado > 0) {
						 titleBox       = "<h4>Felicidades!</h4>"; 
						 typeBox        = "success";
					     messageBox     = res.mensaje;
					  }//fin de la condicion...
					  //Sino se importo ninguno, entonces se pone un mensaje de error...
					  else {
						 typeBox        = "danger"; 
						 titleBox       = "<h4>Error!</h4>"; 
					     messageBox     = res.mensaje; 
					  }//fin de la condicion...
						 //Remueva la clase actual... 
						 $('#messageBox').removeClass("alert alert-info alert-dismissable");
						 $('#messageBox').removeClass("alert alert-danger alert-dismissable");
						 $('#messageBox').removeClass("alert alert-success alert-dismissable");
						 //Ahora vamos a notificar la creacion o no del registro...
						 $('#messageBox').addClass("alert alert-" + typeBox + " alert-dismissable");
						 //Mensaje que se le asigna a la interfaz...
					     $('#messageBox').html(titleBox + messageBox);
						 //Consola...
						 console.log(res);
		          });
			   };
			   
			   /*
			    * Función para limpiar la información del formulario...
			    * */
			   $scope.reset             = function() {
				  $scope.master         = null;	
			      $scope.docente        = angular.copy($scope.master);
			   };
		})
   
;
